package com.itheima.util;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Random;

public class CodeUtil {

    //生成一个随机的验证码，对于工具类是不能创建对象的，需要定义静态方法
    public static String getCode()
    {
        //创建集合存入26+26个大小写字母
        ArrayList<Character> list=new ArrayList<>();
        for (int i = 0; i <26 ; i++) {
            list.add((char)('a'+i));
            list.add((char)('A'+i));
        }
        String result="";
        Random r=new Random();
        for (int i=0;i<4;i++)
        {
            int randomIndex=r.nextInt(list.size());
            char c=list.get(randomIndex);
            result+=c;
        }

        //拼接数字
        int number=r.nextInt(10);
        result+=number;
        char[] chars=result.toCharArray();
        int index = r.nextInt(chars.length);
        //9.拿着4索引上的数字，跟随机索引上的数字进行交换
        char temp = chars[4];
        chars[4] = chars[index];
        chars[index] = temp;
        //10.把字符数组再变回字符串
        String code = new String(chars);
        //System.out.println(code);
        return code;
    }
}
